class Axios {
	// 第一个参数如果是请求地址，那么第二个参数即是配置对象
	// 第一个参数就是配置对象
	// 调用request即是调用dispatchRequest
	request(configOrUrl, config){
		// 发送请求
		// 1- 返回的是一个Promise实例
		const dispatchRequest = function(){
			return new Promise(function(resolve,reject){
				const request = new XMLHttpRequest();
				request.responseType = "json";
				request.open("get","http://zhangpeiyue.com/info");
				request.send();
				request.onload = function(){
					resolve({
						// 配置对象信息
						config,
						// 响应头
						headers:request.getAllResponseHeaders(),
						// 响应体
						data:request.response,
						// XMLHttpRequest实例
						request,
						// 状态码
						status:request.status,
						// 状态码说明
						statusText:request.statusText
					})
				}
			})
		}
		return dispatchRequest();
	}
}
function createInstance() {
	const context = new Axios();
	const instance = Axios.prototype.request.bind(context);
	return instance;
}
const axios = createInstance();
export default axios;